﻿using Microsoft.Graphics.Canvas;
using Microsoft.Graphics.Canvas.Effects;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 纸片人.win2dEffectControl.DataClass
{
    public class DirectionalBlurEffectData : GaussianBlurEffectData
    {
        #region 属性
        private float _angle = 0;

        public float Angle { get => _angle; set { _angle = value; OnPropertyChanged(); SetIsChanges(); } }

        #endregion

        public override ICanvasImage GetEffect(CanvasDevice device, bool compression)
        {
            var source = GetSourceEffect(device, compression);
            if (source == null) return null;


            
            var effect = new DirectionalBlurEffect()
            {
                Source = source,
                BorderMode = BorderMode,
                BlurAmount = BlurAmount,
                Optimization = Optimization,
                Angle = (float)(Angle / 180 * Math.PI),

            };


            return effect;
        }
    }
}
